<ng-container [ngSwitch]="prefixCls">
  <ng-container *ngSwitchCase="'ant-calendar'">
    <ng-container [ngSwitch]="true">
      <ng-container *ngSwitchCase="isTemplateRef(cell.dateCellRender)">
        <ng-container *ngTemplateOutlet="cell.dateCellRender; context: { $implicit: cell.value }"></ng-container>
      </ng-container>
      <ng-container *ngSwitchCase="isNonEmptyString(cell.dateCellRender)">
        <span [innerHTML]="cell.dateCellRender"></span>
      </ng-container>
      <ng-container *ngSwitchDefault>
        <div class="{{ prefixCls }}-date" [attr.aria-selected]="cell.isSelected" [attr.aria-disabled]="cell.isDisabled">
          {{ cell.content }}
        </div>
      </ng-container>
    </ng-container>
  </ng-container>
  <ng-container *ngSwitchCase="'ant-fullcalendar'">
    <div class="ant-fullcalendar-date">
      <ng-container *ngIf="cell.dateFullCellRender else defaultCell">
        <ng-container *ngTemplateOutlet="cell.dateFullCellRender; context: {$implicit: cell.value}"></ng-container>
      </ng-container>
      <ng-template #defaultCell>
        <div class="{{ prefixCls }}-value">{{ cell.content }}</div>
        <div *ngIf="cell.dateCellRender" class="{{ prefixCls }}-content">
          <ng-container *ngTemplateOutlet="cell.dateCellRender; context: {$implicit: cell.value}"></ng-container>
        </div>
      </ng-template>
    </div>
  </ng-container>
</ng-container>